Crate hltas[−][src]
Expand description
A crate for reading and writing Half-Life TAS scripts (.hltas
).
Examples
use hltas::{HLTAS, types::{JumpBug, Line, Times}};
let contents = "\
version 1
demo test
frames
------b---|------|------|0.001|-|-|5";
match HLTAS::from_str(&contents) {
Ok(hltas) => {
assert_eq!(hltas.properties.demo.as_deref(), Some("test"));
if let Line::FrameBulk(frame_bulk) = &hltas.lines[0] {
assert_eq!(
frame_bulk.auto_actions.jump_bug,
Some(JumpBug { times: Times::UnlimitedWithinFrameBulk })
);
assert_eq!(&frame_bulk.frame_time, "0.001");
assert_eq!(frame_bulk.frame_count.get(), 5);
} else {
unreachable!()
}
}
// The errors are pretty-printed with context.
Err(error) => println!("{}", error),
}
Re-exports
pub use types::HLTAS;